﻿using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Text;
using System.Threading.Tasks;


namespace ExcelSystem.Model
{
    /// <summary>
    /// 订单编号
    /// </summary>
    public class Order : BaseProperty
    {

        [Key]
        [DatabaseGenerated(DatabaseGeneratedOption.Identity)]

        /// <summary>
        /// 自增长
        /// </summary>
        public int ID { get; set; }

        /// <summary>
        /// 公司
        /// </summary>
        public int Company { get; set; }



        /// <summary>
        /// 订单编号
        /// </summary>
        public string OrderNo { get; set; }
        /// <summary>
        /// 订单行
        /// </summary>
        public string OrderLine { get; set; }
        /// <summary>
        /// 工厂
        /// </summary>
        public string Factory { get; set; }
        /// <summary>
        /// 采购类型参数
        /// </summary>
        public string ProcurementTypePar { get; set; }
        /// <summary>
        /// 排产编号
        /// </summary>
        public string SchedulingNo { get; set; }
        /// <summary>
        /// 电梯型号
        /// </summary>
        public string ElevatorType { get; set; }


        /// <summary>
        /// 工地模块
        /// </summary>
        public string ConstructionSiteModule { get; set; }
        /// <summary>
        /// 箱名
        /// </summary>
        public string BoxName { get; set; }
        /// <summary>
        /// 合同号
        /// </summary>
        public string ContractNo { get; set; }
        /// <summary>
        /// 排产日期
        /// </summary>
        public DateTime SchedulingDate { get; set; }
        /// <summary>
        /// 整梯合格证铭牌日期
        /// </summary>
        public DateTime NamePlate { get; set; }

        /// <summary>
        /// 包装箱状态
        /// </summary>
        public string PackagingBoxStatus { get; set; }
        /// <summary>
        /// 井道净宽
        /// </summary>
        public decimal? ShaftWidth { get; set; }
        /// </summary>
        /// <summary>
        /// 井道净深
        /// </summary>
        public decimal? ShaftDepth { get; set; }
        /// <summary>
        /// 直梁(轿厢)中心到对重中心的距离

        public decimal? distance { get; set; }


        /// <summary>
        /// 直梁(轿厢)中心到轿门地坎的距离(C)
        /// </summary>
        public decimal? distance4 { get; set; }




        /// <summary>
        /// 轿顶轮布置
        /// </summary>
        public string CarRoofWheelArrange { get; set; }

        /// <summary>
        /// 外包尺寸
        /// </summary>
        public decimal? OutsourcingSize { get; set; }
        /// <summary>
        /// 轿厢中心到井道后壁的距离HD2
        /// </summary>
        public decimal? distance2 { get; set; }

        /// <summary>
        /// 井道壁厚
        /// </summary>
        public decimal? ShaftWallThickness { get; set; }

        /// <summary>
        /// 厅门空间
        /// </summary>
        public decimal? HallDoorSpace { get; set; }

        /// <summary>
        /// 包装箱印刷特殊要求
        /// </summary>
        public string BoxPrinting { get; set; }
        /// <summary>
        /// 轿厢中心到左边井道壁距离
        /// </summary>
        public decimal? distance3 { get; set; }

        /// <summary>
        /// 对重布置
        /// </summary>
        public string CounterweightArrange { get; set; }

        /// <summary>
        /// 主机系列
        /// </summary>
        public string HostSeries { get; set; }

        /// <summary>
        /// 主承重梁倾斜角度
        /// </summary>
        public decimal? BearingBeamAngle { get; set; }

        /// <summary>
        /// 对重轮直径
        /// </summary>
        public string CounterweightWheelDameter { get; set; }

        /// <summary>
        /// 轿厢外深
        /// </summary>
        public decimal? OuterDepth { get; set; }
        /// <summary>
        ///非对重侧井道壁到相邻钢梁承重墩的距离(超出井道为+）
        /// </summary>
        public decimal? distance5 { get; set; }
        /// <summary>
        /// 对重侧井道壁到相邻钢梁承重墩的距离(超出井道为+）
        /// </summary>
        public decimal? distance6 { get; set; }

        /// <summary>
        /// 对重井道净深
        /// </summary>
        public decimal? CounterWeightShaftDepth { get; set; }

        /// <summary>
        /// 曳引轮直径
        /// </summary>
        public string PulleyDiameter { get; set; }

        /// <summary>
        /// 轿厢外宽
        /// </summary>
        public decimal? CarOuterWidth { get; set; }

        /// <summary>
        /// 载重
        /// </summary>
        public decimal? Load { get; set; }

        /// <summary>
        /// 速度
        /// </summary>
        public decimal? Spped { get; set; }

        /// <summary>
        /// 开门数
        /// </summary>
        public decimal? DoorsOpenedNo { get; set; }

        /// <summary>
        /// 停站数
        /// </summary>
        public decimal? StopsNo { get; set; }
        /// <summary>
        /// 轿厢中心到对重边墙的距离
        /// </summary>
        public decimal? distance7 { get; set; }

        /// <summary>
        /// 限速器位置
        /// </summary>
        public string SpeedLimiterPosition { get; set; }

        /// <summary>
        /// 钢丝绳数x直径（mm）
        /// </summary>
        public string SteelWireRopesNo { get; set; }

        /// <summary>
        /// 是否出口梯
        /// </summary>
        public bool ExportElevator { get; set; }

        /// <summary>
        /// 订单物料编码
        /// </summary>
        public string MaterialNo { get; set; }
        /// <summary>
        /// 物料描述
        /// </summary>
        public string MaterialDescribe { get; set; }
        /// <summary>
        /// 数量
        /// </summary>
        public decimal? Number { get; set; }
        /// <summary>
        /// 单位
        /// </summary>
        public string Unit { get; set; }
        /// <summary>
        /// 交货日期
        /// </summary>
        public DateTime DeliveryDate { get; set; }
        /// <summary>
        /// 物料规格
        /// </summary>
        public string MaterialSpecifications { get; set; }
        /// <summary>
        /// BOM规格
        /// </summary>
        public string BOMSpecifications { get; set; }
        /// <summary>
        /// TT批次
        /// </summary>
        public string TTBatch { get; set; }
        /// <summary>
        /// 顺序号
        /// </summary>
        public decimal? SequenceNumber { get; set; }
        /// <summary>
        /// 备注
        /// </summary>
        public string Remarks { get; set; }


        /// <summary>
        /// 顾客类别
        /// </summary>
        public string CustomType { get; set; }


        /// <summary>
        /// 物料颜色
        /// </summary>
        public string Color { get; set; }

        /// <summary>
        /// 订单物料编码列表
        /// </summary>
        public virtual ICollection<Material> MaterialList { get; private set; }
         = new ObservableCollection<Material>();


    }


}
